
/// @file Defines structure(s) for an execution error event in a Function Group

#ifndef NOSAL_EXEC_EXECUTION_ERROR_EVENT_H_
#define NOSAL_EXEC_EXECUTION_ERROR_EVENT_H_

#include "nosal/exec/function_group.h"

#include <cstdint>

namespace netaos {
namespace nosal {
namespace exec {
///
/// @brief Represents the execution error.
///
using ExecutionError = std::uint32_t;

///
/// @brief Represents an execution error event which happens in a Function Group
///
struct ExecutionErrorEvent final
{
    ///
    /// @brief The execution error of the Process which unexpectedly terminated.
    ///
    ExecutionError executionError;

    ///
    /// @brief The function group in which the error occurred.
    ///
    FunctionGroup functionGroup;
};

}  // namespace exec
}  // namespace nosal
}  // namespace netaos

#endif  // NOSAL_EXEC_EXECUTION_ERROR_EVENT_H_
